home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Topik
/
Topik - Disk 37 - Games 3 (19xx)(Topik Public Domain)(PD)[WB].zip
/
Topik - Disk 37 - Games 3 (19xx)(Topik Public Domain)(PD)[WB].adf
/
RUMMY
/
SOURCE
/
menus.c.pp
/
menus.c
Wrap
C/C++ Source or Header
|
1991-02-24
|
13KB
|
312 lines
/* MENUS.C
* This file contains the menu declarations and initializations. It should
* be linked in the main program. Any parts of this file needed by other
* modules will be referenced in the files externs.h which will be included
* in every module of the program.
*/
#include <intuition/intuition.h>
#include "defns.h"
struct IntuiText vmtxt[] = /*verify menu texts*/
{
{ 2,3,JAM2,1,0,NULL,"Verify End Game ",NULL },
{ 2,3,JAM2,1,0,NULL,"Verify Quit Program",NULL}
};
struct MenuItem vmitems[] = /*verify menu items*/
{
{ &vmitems[1],0,0,19*FWIDTH,FHEIGHT,ITEMTEXT | HIGHCOMP,NULL,
(APTR)&vmtxt[0],NULL,NULL,NULL,MENUNULL
},
{ NULL,0,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP, NULL,
(APTR)&vmtxt[1],NULL,NULL,NULL,MENUNULL
}
};
struct IntuiText cmtxt[] = /*checkable menu text*/
{
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player One",NULL},
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player Two",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player Three",NULL }
};
struct IntuiText ncmtxt[] = /*noncheckable menu text*/
{
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer One",NULL },
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer Two",NULL },
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer Three",NULL }
};
struct MenuItem mmsub[] = /*modify memory submenu items*/
{
{ &mmsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[0], NULL,NULL,NULL, MENUNULL
},
{ &mmsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[1], NULL,NULL,NULL, MENUNULL
},
{ NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[2], NULL,NULL,NULL, MENUNULL
}
};
struct MenuItem mcsub[] = /*manual control submenu items*/
{
{ &mcsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&cmtxt[0], NULL,NULL,NULL, MENUNULL
},
{ &mcsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&cmtxt[1], NULL,NULL,NULL, MENUNULL
},
{ NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&cmtxt[2], NULL,NULL,NULL, MENUNULL
}
};
struct MenuItem vcsub[] = /*view cards submenu items*/
{
{ &vcsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&cmtxt[0], NULL,NULL,NULL, MENUNULL
},
{ &vcsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&cmtxt[1], NULL,NULL,NULL, MENUNULL
},
{ NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&cmtxt[2], NULL,NULL,NULL, MENUNULL
}
};
struct IntuiText sctxt[] = /*shuffle/create pack submenu text*/
{
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"After each hand",NULL},
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"After each game",NULL}
};
struct MenuItem ipsub[] = /*initialise pack submenu items*/
{
{ &ipsub[1],SMOS,0,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | CHECKED | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&sctxt[0], NULL,NULL,NULL, MENUNULL
},
{ NULL,SMOS,FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&sctxt[1], NULL,NULL,NULL, MENUNULL
}
};
struct MenuItem spsub[] = /*shuffle pack submenu items*/
{
{ &spsub[1],SMOS,0,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&sctxt[0], NULL,NULL,NULL, MENUNULL
},
{ NULL,SMOS,FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | MENUTOGGLE | ITEMENABLED,
NULL, (APTR)&sctxt[1], NULL,NULL,NULL, MENUNULL
}
};
/*all items below are checkwidth in to improve readability*/
struct IntuiText dmtxt[] = /*debug menu text*/
{
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"View Cards >",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Manual Deal",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Manual Control >",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Modify Memory >",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Open New Pack >",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Shuffle Pack >",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Continuous Play",NULL}
};
struct MenuItem dmitems[] = /*debug menu items*/
{
{ &dmitems[1],0,0, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&dmtxt[0], NULL,NULL, vcsub, MENUNULL
},
{ &dmitems[2],0,FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&dmtxt[1], NULL,NULL,NULL,MENUNULL
},
{ &dmitems[3],0,2*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&dmtxt[2], NULL,NULL, mcsub, MENUNULL
},
{ &dmitems[4],0,3*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
NULL, (APTR)&dmtxt[3], NULL,NULL, mmsub, MENUNULL
}, /*this item (MODIFY MEMORY) is disabled for obvious reasons*/
{ &dmitems[5],0,4*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&dmtxt[4], NULL,NULL, ipsub, MENUNULL
},
{ &dmitems[6],0,5*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&dmtxt[5], NULL,NULL, spsub, MENUNULL
},
{ NULL,0,6*FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
NULL, (APTR)&dmtxt[6], NULL,NULL, NULL, MENUNULL}
};
struct IntuiText imtxt[] = /*Intelligence menu texts*/
{
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level One",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Two",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Three",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Four",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Five",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Six",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Seven",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Eight",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Nine",NULL },
{ MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Ten",NULL }
};
struct MenuItem p1isub[] = /*Player One Intelligence sub menu items*/
{
{ &p1isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
},
{ &p1isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
},
{ NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
}
};
struct MenuItem p2isub[] = /*Player Two intelligence submenu items*/
{
{ &p2isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
},
{ &p2isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
},
{ NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
}
};
struct MenuItem p3isub[] = /*Player Three intelligence sub menu items*/
{
{ &p3isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
},
{ &p3isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
},
{ NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
}
};
struct MenuItem imitems[] = /*Intelligence menu items*/
{
{ &imitems[1], 0,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[0], NULL,NULL,p1isub, MENUNULL
},
{ &imitems[2], 0,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[1], NULL,NULL,p2isub, MENUNULL
},
{ NULL, 0,FHEIGHT*2,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&ncmtxt[2], NULL,NULL,p3isub, MENUNULL
}
};
struct IntuiText pmtxt[] = /*Project Menu text*/
{
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Play >",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Reorder Cards",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"About",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Quit",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Three Player Game",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Two Player Game",NULL},
{ MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Exit Current Game",NULL}
};
struct MenuItem ppsub[] = /*Project-Play sub items*/
{
{ &ppsub[1], SMOS,0,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&pmtxt[4], NULL,NULL,NULL, MENUNULL},
{ &ppsub[2], SMOS,FHEIGHT,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
NULL, (APTR)&pmtxt[5], NULL,NULL,NULL, MENUNULL},
{ &ppsub[3], SMOS,FHEIGHT*2,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL, (APTR)&pmtxt[6], NULL,NULL,NULL, MENUNULL},
{ NULL, SMOS,FHEIGHT*3,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
NULL, (APTR)&pmtxt[7], NULL,NULL,NULL, MENUNULL}
};
struct MenuItem pmitems[] = /*Project menu items*/
{
{ &pmitems[1],0,0,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL,(APTR)&pmtxt[0],NULL,NULL,ppsub,MENUNULL
},
{ &pmitems[2],0,FHEIGHT,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
NULL,(APTR)&pmtxt[1],NULL,NULL,NULL,MENUNULL
}/* this item (REORDER CARDS) is disabled for obvious reasons*/,
{ &pmitems[3],0,FHEIGHT*2,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL,(APTR)&pmtxt[2],NULL,NULL,NULL,MENUNULL
},
{ NULL,0,FHEIGHT*3,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
NULL,(APTR)&pmtxt[3],NULL,NULL,NULL,MENUNULL
}
};
struct Menu menu[] = /*menu strip*/
{
{ &menu[1], 0,0,9*FWIDTH,FHEIGHT, MENUENABLED, "Project", pmitems},
{ &menu[2], 9*FWIDTH,0,14*FWIDTH,FHEIGHT, MENUENABLED, "Intelligence", imitems },
{ &menu[3], 23*FWIDTH,0,9*FWIDTH,FHEIGHT, MENUENABLED, "Special", dmitems},
{ NULL, 32*FWIDTH,0,8*FWIDTH,FHEIGHT, MENUENABLED, "Verify", vmitems}
};